package com.xzq.erp.service;

import com.xzq.erp.domain.dto.PageDTO;
import com.xzq.erp.domain.dto.UserDTO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xzq.erp.domain.po.SysUser;
import com.xzq.erp.domain.query.UserPageQuery;
import com.xzq.erp.domain.vo.UserVO;

/**
 * <p>
 * 系统用户表 服务类
 * </p>
 *
 * @author xzq
 * @since 2025-05-19
 */
public interface ISysUserService extends IService<SysUser> {

    /**
     * 获取用户列表
     * @param query
     * @return
     */
    PageDTO<UserVO> getUserList(UserPageQuery query);

    /**
     * 添加用户
     * @param userDTO
     */
    void addUser(UserDTO userDTO);

    /**
     * 修改用户
     * @param userDTO
     */
    void updateUser(UserDTO userDTO);

    /**
     * 重置用户密码
     * @param id
     */
    void resetPassword(Long id);

    /**
     * 删除用户
     * @param id
     */
    void deleteUser(Long id);

    /**
     * 获取用户信息
     * @return
     */
    UserVO getUserInfo();

    /**
     * 修改用户密码
     * @param userDTO
     */
    void updatePassword(UserDTO userDTO);
}
